Kubni korijen
U matematici, kubni koren nekog broja, u oznaci ili x1/3 je broj a takav da je a3 = x. Svi realni brojevi imaju tačno jedan realni kubni koren i par konjugovano kompleksnih kubnih korena, dok svi kompleksni brojevi različiti od nule imaju tačno tri različita kompleksna kubna korena. Na primer, realni kubni koren od 8 je 2, jer je 23 = 8. Svi kubni koreni broja −27i su
Operacija kubnog korenovanja nije ni asocijativna ni distributivna sa sabiranjem ili oduzimanjem.
Operacija kubnog korenovanja je asocijativna sa stepenovanjem i distributivna sa množenjem i deljenjem ako u obzir uzimamo samo realne brojeve, ali ne uvek i ako u obzir uzimamo kompleksne brojeve, na primer:
ali
Kubni koren broja x su svi brojevi y koji zadovoljavaju jednačinu
Neka su x i y realni brojevi. Tada postoji jedinstveni rešenje i time je kubni koren realnog broja definisan ovom formulom. Ako se koristi ova definicija, kubni koren negativnog broja je opet negativni broj. Glavni kubni koren broja x se takođe predstavlja i kao
Neka su x i y kompleksni brojevi. Tada postoje tri rešenja (ako je x različito od nule), a time i x ima tri kubna korena. Realan broj ima jedan realan kubni koren i još dva kubna korena, koja čine konjugovano kompleksni par. Ovo vodi do nekih interesantnih razultata.
Na primer, kubni korenovi broja jedan su:
Ova dva korena vode do relacije među svim kubnim korenima realnih brojeva. Ako je neki broj kubni koren realnog ili kompleksnog broja, druga dva kubna korena tog broja se mogu naći množenjem prvog kubnog korena sa dva kompleksna kubna korena broja 1.
Za kompleksne brojeve, glavni kubni koren je obično definisan kao
gde je ln(x) glavna grana prirodnog logaritma. Ako zapišemo x kao
gde je r nenegativni realan broj, a θ leži u opsegu
- ,
onda je kompleksni kubni koren
- .
Ovo znači da u polarnim koordinatama uzimamo kubni koren radijusa, a polarni ugao delimo sa tri da bismo definisali kubni koren. Po ovoj definiciji, kubni koren negativnog broja je kompleksni broj, i na primer, neće biti , već .
Ovo ograničenje se lako može izbeći ako početni kompleksni broj x zapisujemo u ekvivalentnim oblicima
- , ili .
Tri kompleksna kubna korena su onda
- , ili .
Uopšteno, ova tri kubna korena su različita, iako su tri predstave broja x iste. Na primer, se onda može izračunati da bude , ili .
U programima koji su svesni imaginarne ravni, grafik kubnog korena broja x na realnoj ravni neće prikazivati ništa za negativne vrednosti broja x. Da bismo takođe uključili i negativne korene, ovim programima se mora eksplicitno reći da koriste samo realne brojeve (U Matematici se ovo može postići izvršavanjem sledeće linije koda: <<Miscellaneous`RealOnly`
.)
Iz identiteta:
- ,
postoji prost metod za računanje kubnih korenova na običnom digitronu, koristeći samo dugmad za množenje i korenovanje, pošto se broj ukuca. Nije potrebno da digitron ima funkcije za memorisanje.
- Pritisnuti dugme za kvadratni koren jednom.
- Pritisnuti dugme za množenje.
- Pritisnuti dugme za kvadratni koren dva puta.
- Pritisnuti dugme za množenje.
- Pritisnuti dugme za kvadratni koren četiri puta.
- Pritisnuti dugme za množenje.
- Pritisnuti dugme za kvadratni koren osam puta.
- Pritisnuti dugme za množenje...
Ovaj proces se nastavlja dok se broj menja posle pritiskanja dugmeta za množenje jer ponavljanje pritiskanja dugmeta za kvadratni koren daje rezultat 1 (ovo znači da je rešenje nađeno na onom broju decimalnih mesta koje digitron može da obradi). Onda treba pritisnuti dugme za kvadratni koren još jednom. U ovom trenutku, najbolja aproksimacija kubnog korena početnog broja se prikazuje na ekranu.
Ako se prvo množenje zameni deljenjem, umesto kubnom korena, na ekranu će biti prikazan peti koren.
Posle stepenovanja x sa obe strane gornje formule, dobija se:
- (*)
Leva strana je kubni koren broja x.
Koraci prikazani u gorepomenutom metodu daju:
Posle koraka 2:
Posle koraka 4:
Posle koraka 6:
Posle koraka 8:
itd.
Posle računanja neophodnih izraza, poslednji kvadratni koren nalazi desnu stranu jednačine (*).
Njutnov metod je iterativni metod koji se može iskoristiti za računanje kubnog korena. Za realne brojeve sa pokretnim zarezom, ovaj metod se svodi na sledeći iterativni algoritam koji proizvodi bolju aproksimaciju kubnog korena broja :
- ,
Halejev metod poboljšava ovaj algoritam sa algoritmom koji konvergira mnogo brže u svakom koraku, ali zahteva više operacija množenja:
- ,
Sa bilo kojim od ova dva metoda, inicijalna aproskimacija može dati jako loše performanse, a nalaženje dobre početne aproksimacije je donekle umetnost za sebe. Neke implementacije manipulišu sa bitovima eksponenta, tj. dolaze do početne aproksimacije deleći eksponent sa 3. Ovo ima manu jer zahteva poznavanje unutrašnje predstave broja sa pokretnim zarezom, a samim tim je i implementacija vezana za određene platforme.
Sledeći optimizovana implementacija u C programskom jeziku koristi Halejevu metodu. Prikazuje se dizanje početne aproksimacije na stepene broja 2, dok se ne dostigne bar trećina binarnih cifara kao u ulazu. Ulaz mogu biti svi nenegativni celi brojevi:
double cube_root(unsigned long a_) { unsigned long x_ = 1; double x, xxx, a; if (a_ == 0) return 0.0; if (a_ == 1) return 1.0; a = (double) a_; do { a_ >>= 3; x_ <<= 1; } while (a_); x = (double) x_; xxx = x * x * x, x = x * (xxx + a + a) / (xxx + xxx + a); /* Accurate to 2 decimal digits: */ xxx = x * x * x, x = x * (xxx + a + a) / (xxx + xxx + a); /* Accurate to 7 decimal digits: */ xxx = x * x * x, x = x * (xxx + a + a) / (xxx + xxx + a); /* Accurate to 15 decimal digits: */ xxx = x * x * x, x = x * (xxx + a + a) / (xxx + xxx + a); return x; }